'use strict'

define(['jquery', 'bootstrap', 'select2', 'validate', 'validate.en', 'shiftform'], function($) {
  return {
    init : function(){
        
     this.create()
        
    },
    
    create : function() {
        $(document).on('shown.bs.modal', '#add', function(e){
            
            $('select[name="type"]').change(function(e){
              if(e.val == "PRODUCT") {
                $(".product").removeClass('hide');
                $("select[name='product.id']").attr("data-validate", "required");
                $(".productType").addClass('hide');
                $("select[name='productType']").removeAttr("data-validate");
              }else if(e.val == "CATEGORY"){
                $(".productType").removeClass('hide');
                $("select[name='productType']").attr("data-validate", "required");
                $(".product").addClass('hide');
                $("select[name='product.id']").removeAttr("data-validate");
              }else {
                $(".productType").addClass('hide');
                $("select[name='productType']").removeAttr("data-validate");
                $(".product").addClass('hide');
                $("select[name='product.id']").removeAttr("data-validate");
              }
            });
            
            $('select[name="discountType"]').change(function(e){
                if(e.val == "FIXED_AMOUNT") {
                  $("#fixed_amount").removeClass('hide');
                  $("#fixed_amount").find("input").attr("data-validate", "required|float");
                }else if(e.val == "PERCENT"){
                  $("#fixed_amount").addClass('hide');
                  $("#fixed_amount").find("input").removeAttr("data-validate");
                  $("#fixed_amount").find("input").val("");
                } else if(e.val == "GIFT"){
                  $("#fixed_amount").addClass('hide');
                  $("#fixed_amount").find("input").removeAttr("data-validate");
                  $("#fixed_amount").find("input").val("");
                  
                }else {
                  $("#fixed_amount").addClass('hide');
                  $("#fixed_amount").find("input").removeAttr("data-validate");
                  $("#fixed_amount").find("input").val("");
                }
              });
            
            $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
            
            var $form = $(e.currentTarget).find("form")                          //bind shiftform
            $form.shiftform({
              beforeSubmit : function(el) {
                $form.trigger("validate.ajax.submit");
                return $.bt_validate.result[$.bt_validate.form_id]
              }
            })
          })
      }
    
  }
})

